npth: update to version 1.8
authorDaniel Golle <[email protected]>
Sat, 26 Apr 2025 02:45:23 +0000 (03:45 +0100)
committerDaniel Golle <[email protected]>
Sat, 26 Apr 2025 15:55:22 +0000 (16:55 +0100)
Noteworthy changes in version 1.8 (2024-11-12)  [C3/A3/R0]
----------------------------------------------

 * Fix npth_cond_signal and npth_cond_broadcast on Windows.  [T7386]

 * New function npth_get_version.  New macros NPTH_VERSION and
   NPTH_VERSION_NUMBER.

 * Fix INSERT_EXPOSE_RWLOCK_API for musl C library.  [T5664]

 * Add fallback implementation for POSIX semaphore API on macOS.
   [T7057]

 * Return a run-time error if npth_rwlock_timedrdlock is not
   supported.  [T7109]

 Release-info: https://dev.gnupg.org/T7387

Noteworthy changes in version 1.7 (2024-02-23)  [C2/A2/R0]
----------------------------------------------

 * The npth-config command is not installed by default, because it is
   now replaced by use of pkg-config/gpgrt-config with npth.pc.
   Supply --enable-install-npth-config configure option, if needed.

 * Support for legacy systems w/o pthread_rwlock_t support.  [T4306]

 * New functions npth_poll and npth_ppoll for Unix.  [T5748]

 * Fixes to improve support for 64 bit Windows.

 * Fix declaration conflict using newer mingw versions.  [T5889]

 * Fix build problems on Solaris 11.  [T4491]

 * Fix detecting of the pthread library.  [rPTH6629a4b801]

 * Clean up handling of unsafe semaphores on AIX.  [T6947]

 * Link without -flat_namespace to support macOS 11.  [T5610]

 Release-info: https://dev.gnupg.org/T7010

OpenWrt package maintainer note:
 * NPTH's buildsystem now requires the REAL_GNU_TARGET_NAME (ie. with the
   libc being the suffix, eg. '*-musl' or '*-gnu') to be passed to
   `configure`, override CONFIGURE_ARGS to do so.
 * Switch to use pkg-config.

Signed-off-by: Daniel Golle <[email protected]>
libs/npth/Makefile

index a7c25470b18316a1b24c4589d175ec07e672d8ea..14618d4f35b8e76ceb6135b5a29af09af416b1d2 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=npth
-PKG_VERSION:=1.6
+PKG_VERSION:=1.8
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://gnupg.org/ftp/gcrypt/$(PKG_NAME)
-PKG_HASH:=1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1
+PKG_HASH:=8bd24b4f23a3065d6e5b26e98aba9ce783ea4fd781069c1b35d149694e90ca3e
 
 PKG_MAINTAINER:=Daniel Golle <[email protected]>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -30,15 +30,32 @@ define Package/libnpth/description
 nPth is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. 
 endef
 
+CONFIGURE_ARGS = \
+               --target=$(REAL_GNU_TARGET_NAME) \
+               --host=$(REAL_GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --disable-dependency-tracking \
+               --program-prefix="" \
+               --program-suffix="" \
+               --prefix=$(CONFIGURE_PREFIX) \
+               --exec-prefix=$(CONFIGURE_PREFIX) \
+               --bindir=$(CONFIGURE_PREFIX)/bin \
+               --sbindir=$(CONFIGURE_PREFIX)/sbin \
+               --libexecdir=$(CONFIGURE_PREFIX)/lib \
+               --sysconfdir=/etc \
+               --datadir=$(CONFIGURE_PREFIX)/share \
+               --localstatedir=/var \
+               --mandir=$(CONFIGURE_PREFIX)/man \
+               --infodir=$(CONFIGURE_PREFIX)/info
+
 define Build/InstallDev
-       $(INSTALL_DIR) $(2)/bin $(1)/usr/bin
-       $(INSTALL_BIN) \
-               $(PKG_INSTALL_DIR)/usr/bin/npth-config \
-               $(2)/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/npth.pc \
+               $(1)/usr/lib/pkgconfig
        $(SED) \
                's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
-               $(2)/bin/npth-config
-       ln -sf $(STAGING_DIR)/host/bin/npth-config $(1)/usr/bin/npth-config
+               $(1)/usr/lib/pkgconfig/npth.pc \
 
        $(INSTALL_DIR) $(1)/usr/include
        $(INSTALL_DATA) \